# score GIGACHAT_API_PERS
#url = "https://ngw.devices.sberbank.ru:9443/api/v2/oauth"
#payload='scope=GIGACHAT_API_PERS'

import requests

def getHeaders(rqUID,authorization):
    """
    Создаем Headers POST зпароса
    :param rqUID:  Уникальный идентификатор сессии
    :param authorization: Идентификатор из личного кабинета
    :return: Возвращает заголовок для POST запроса
    """
    authoriz = "Basic " + authorization
    headers = {
    'Content-Type': 'application/x-www-form-urlencoded',
    'Accept': 'application/json',
    'RqUID': str(rqUID),
    'Authorization': str(authoriz)
    }
    return headers

def getToken(rqUID,authorization,metod="POST",url="https://ngw.devices.sberbank.ru:9443/api/v2/oauth",payload='scope=GIGACHAT_API_PERS'):
    """
    Отправляем POST зпарос на получения токена доступа
    :param rqUID: Уникальный идентификатор сессии
    :param authorization: Идентификатор из личного кабинета
    :param metod: Какой метод используется для запроса по (укмолчанию POST)
    :param url: Адрес для POST запроса для получения токена доступа
    :param payload: Тип запроса: GIGACHAT_API_PERS — доступ для физических лиц. GIGACHAT_API_CORP — доступ для юридических лиц.
    :return: Возвращает токен доступа  ответ в формате строки но с заявкой на словарь
    """
    headers = getHeaders(rqUID, authorization)
    response = requests.request(metod, url, headers=headers, data=payload, verify=False)
    return response.text